// 2025/4/28
// 分割等和子集

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, target = 0; cin >> n;
    vector<int> nums(n);
    for(auto& num : nums)
    {
        cin >> num;
        target += num;
    }
    if(target % 2 != 0)
    {
        cout << "false" << endl;
        return 0;
    }
    else
        target /= 2;
    vector<vector<bool>> dp(n + 1, vector<bool>(target + 1, false));
    for(int i = 0; i <= n; i++)
    {
        dp[i][0] = true;
    }
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= target; j++)
        {
            dp[i][j] = dp[i - 1][j];
            if(nums[i] <= j)
            {
                dp[i][j] = dp[i][j] || dp[i - 1][j - nums[i]];
            }
        }
    }
    if(dp[n][target])
        cout << "true" << endl;
    else
        cout << "false" << endl;
    return 0;
}
// 64 位输出请用 printf("%lld")